package com.yzf.demo.demo.GenericParadigm;

/**
 * Created by 于占峰 on 2020/3/27/027.
 * #### 泛型方法:
 * <p>
 * ##### 	实体方法:
 * <p>
 * ###### 		实体方法可以使用类中定义的泛型和方法中定义的类型
 * <p>
 * ##### 	静态方法:
 * <p>
 * ###### 		静态方法不可以使用类中定义的泛型只可以使用静态方法中定义的泛型
 */
public class DemoBean1<A, B> {
    private A a;
    private B b;

    public DemoBean1(A a, B b) {
        this.a = a;
        this.b = b;
    }

    //可以调用传入类定义的泛型A
    public A method1(A a) {
        return a;
    }

    //方法中定义了一个泛型 E 传入E 返回的是类定义的泛型B
    public <E> B method2(E e) {
        return b;
    }

    //该静态方法定义了一个泛型 F 可以调用该方法定义的F 但不能调用类所定义的泛型 A B
    public static <F> F staticMethod1(F f) {
        return f;
    }

}
